package com.baway.net
import javax.inject.Qualifier

/**
 * Author: Jason Zhang
 * Date: 2025/8/20
 * Desc: 自定义Hilt注解，用于区分不同实例
 *
 * 注解相关知识：
 * 1.什么是元注解？ 注解其他自定义注解的注解（注解的太爷爷）
 *
 *   //Java中的5个元注解
 *   @Retention  声明注解的生命周期（Source, CLASS, RUNTIME）
 *   @Target     声明注解的作用目标（类名，方法名，参数）
 *   @Documented 声明帮助文档，开发后端接口
 *   @Inherited  是否让其他注解继承
 *   @Repeatable 声明可以重复注解
 *
 *   定义方式：@interface
 *
 *
 *   //Kotlin中的元注解
 *   @Target     声明注解的作用目标（类名，方法名，参数）
 *   @Retention  声明注解的生命周期（Source, BINARY, RUNTIME）
 *   @Repeatable 声明可以重复注解
 *   @MustBeDocumented
 *
 *   @JvmStatic     //静态
 *   @JvmOverloads  //重载
 *   @JvmName       //名称
 *   @JvmField      //属性
 *
 *   定义方式：annotation class
 *
 */

@Qualifier //声明依赖注入，用于区分多个实例
@Retention(AnnotationRetention.BINARY)
annotation class HttpClientAnnotation

@Qualifier //声明依赖注入，用于区分多个实例
@Retention(AnnotationRetention.BINARY)
annotation class HttpsClientAnnotation

@Qualifier //声明依赖注入，用于区分多个实例
@Retention(AnnotationRetention.BINARY)
annotation class HttpRetrofitAnnotation

@Qualifier //声明依赖注入，用于区分多个实例
@Retention(AnnotationRetention.BINARY)
annotation class HttpsRetrofitAnnotation